package com.woniuxy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.entity.Shop;
import com.woniuxy.entity.User;

import java.util.List;

public interface UserService extends IService<User> {
    /**
     * 添加用户
     * @param user
     * @return
     */
    public int add(User user);

    /**
     * 修改用户信息
     * @param user
     */
    public void update(User user);

    /**
     * 通过id删除用户
     * @param id
     */
    public void delete(int id);

    /**
     *动态查找用户信息
     * @param user
     * @return
     */
    List<User> getByCondition(User user);
    /**
     * 通过用户账号获取用户
     * @param account
     * @return
     */
    User getByAccount(String account);

    /**
     * 查找全部用户
     * @return
     */
    List<User> getAll();

    /**
     * 注册账户
     * @param name
     * @param password
     * @param email
     */
    void register(String name, String password, String email);

    /**
     * 修改用户密码
     * @param name
     * @param password
     */
    void updatePsw(String name, String password);

    /**
     * 在数据库查询一个name的个数
     * @param name
     * @return
     */
    int getNameCount(String name);

    /**
     * 在数据库查询一个Email的个数
     * @param email
     * @return
     */
    int getEmileCount(String email);

    /**
     * 通过用户id得到用户收藏的商铺
     * @param id
     * @return
     */
    List<Shop> getShopByUserId(int id);

    /**
     * 通过查找用户id和对应的商铺id来判断用户是否将店铺已经收藏
     * @param userId
     * @param shopId
     * @return
     */
    int collectIsExist (int userId,int shopId);

    /**
     * 添加店铺收藏
     * @param userId
     * @param shopId
     */
    void collectShop(int userId, int shopId);

    void noCollectShop(int userId, int shopId);
}
